const int N_steps = 50;
float M1_steps[50] = {-1286.0,-2339.0,-3358.0,-4341.0,-5287.0,-6202.0,-7095.0,-7996.0,-7293.0,-5799.0,-4233.0,-2569.0,-808.0,973.0,2798.0,4684.0,5698.0,4920.0,4186.0,3500.0,2866.0,2288.0,1655.0,1005.0,336.0,1655.0,2866.0,4186.0,5698.0,7369.0,9171.0,11079.0,13069.0,13069.0,12065.0,11079.0,10113.0,9171.0,8256.0,7369.0,6493.0,5708.0,4939.0,4176.0,3421.0,2675.0,1938.0,1212.0,499.0,-202.0};
float M2_steps[50] = {-1368.0,-2422.0,-3441.0,-4424.0,-5372.0,-6286.0,-7180.0,-8082.0,-7379.0,-5883.0,-4317.0,-2651.0,-890.0,892.0,2718.0,4604.0,6145.0,6991.0,7879.0,8786.0,9720.0,10678.0,11658.0,12657.0,13673.0,11658.0,9720.0,7879.0,6145.0,4591.0,3203.0,2013.0,705.0,705.0,1357.0,2013.0,2586.0,3203.0,3872.0,4591.0,5355.0,5629.0,4860.0,4097.0,3341.0,2594.0,1857.0,1131.0,417.0,-283.0};
float M3_steps[50] = {854.0,1938.0,3047.0,4176.0,5323.0,6484.0,7657.0,8839.0,7919.0,5966.0,4050.0,2182.0,381.0,-1405.0,-3135.0,-4766.0,-6275.0,-7620.0,-8922.0,-10198.0,-11424.0,-12591.0,-13790.0,-14984.0,-16165.0,-13790.0,-11424.0,-8922.0,-6275.0,-3472.0,-603.0,2317.0,5007.0,5007.0,3664.0,2317.0,857.0,-603.0,-2047.0,-3472.0,-4887.0,-5595.0,-4976.0,-4341.0,-3690.0,-3022.0,-2339.0,-1641.0,-928.0,-202.0};
float M4_steps[50] = {854.0,1938.0,3047.0,4176.0,5323.0,6484.0,7657.0,8839.0,7919.0,5966.0,4050.0,2182.0,381.0,-1405.0,-3135.0,-4766.0,-5347.0,-3948.0,-2524.0,-1086.0,369.0,1839.0,3215.0,4560.0,5902.0,3215.0,369.0,-2524.0,-5347.0,-8049.0,-10613.0,-12978.0,-15377.0,-15377.0,-14191.0,-12978.0,-11821.0,-10613.0,-9352.0,-8049.0,-6737.0,-5595.0,-4976.0,-4341.0,-3690.0,-3022.0,-2339.0,-1641.0,-928.0,-202.0};

float M1_V_steps[50] = {3011.0,2925.0,2831.0,2731.0,2628.0,2542.0,2481.0,2503.0,2511.0,2490.0,2610.0,2773.0,2935.0,2968.0,3042.0,3143.0,2428.0,2161.0,2039.0,1906.0,1761.0,1606.0,1758.0,1806.0,1587.0,1832.0,1682.0,1833.0,2100.0,2321.0,2503.0,2650.0,2764.0,0.0,2789.0,2739.0,2683.0,2617.0,2542.0,2464.0,2433.0,3048.0,3204.0,3179.0,3146.0,3108.0,3071.0,3025.0,2971.0,2921.0};
float M2_V_steps[50] = {3014.0,2928.0,2831.0,2731.0,2633.0,2539.0,2483.0,2506.0,2511.0,2493.0,2610.0,2777.0,2935.0,2970.0,3043.0,3143.0,3690.0,2350.0,2467.0,2519.0,2594.0,2661.0,2722.0,2775.0,2410.0,2799.0,2692.0,2557.0,2408.0,2158.0,1928.0,1653.0,1817.0,0.0,1811.0,1822.0,1592.0,1714.0,1858.0,1997.0,2122.0,1064.0,3204.0,3179.0,3150.0,3113.0,3071.0,3025.0,2975.0,2917.0};
float M3_V_steps[50] = {2933.0,3011.0,3081.0,3136.0,3186.0,3225.0,3258.0,3283.0,3286.0,3255.0,3193.0,3113.0,3002.0,2977.0,2883.0,2718.0,3613.0,3736.0,3617.0,3544.0,3406.0,3242.0,3331.0,3317.0,2801.0,3299.0,3286.0,3475.0,3676.0,3893.0,3985.0,4056.0,3736.0,0.0,3731.0,3742.0,4056.0,4056.0,4011.0,3958.0,3931.0,2749.0,2579.0,2646.0,2712.0,2783.0,2846.0,2908.0,2971.0,3025.0};
float M4_V_steps[50] = {2933.0,3011.0,3081.0,3136.0,3186.0,3225.0,3258.0,3283.0,3286.0,3255.0,3193.0,3113.0,3002.0,2977.0,2883.0,2718.0,1391.0,3886.0,3956.0,3994.0,4042.0,4083.0,3822.0,3736.0,3183.0,3732.0,3953.0,4018.0,3921.0,3753.0,3561.0,3285.0,3332.0,0.0,3294.0,3369.0,3214.0,3356.0,3503.0,3619.0,3644.0,4433.0,2579.0,2646.0,2712.0,2783.0,2846.0,2908.0,2971.0,3025.0};

float Step_times[50] = {0.36,0.72,1.08,1.44,1.8,2.16,2.52,2.88,3.16,3.76,4.36,4.96,5.56,6.16,6.76,7.36,7.78,8.14,8.5,8.86,9.22,9.58,9.94,10.3,10.72,11.44,12.16,12.88,13.6,14.32,15.04,15.76,16.48,16.72,17.08,17.44,17.8,18.16,18.52,18.88,19.24,19.5,19.74,19.98,20.22,20.46,20.7,20.94,21.18,21.42};


/*
X1 = np.array([-1286.0,-2339.0,-3358.0,-4341.0,-5287.0,-6202.0,-7095.0,-7996.0,-7293.0,-5799.0,-4233.0,-2569.0,-808.0,973.0,2798.0,4684.0,5698.0,4920.0,4186.0,3500.0,2866.0,2288.0,1655.0,1005.0,336.0,1655.0,2866.0,4186.0,5698.0,7369.0,9171.0,11079.0,13069.0,13069.0,12065.0,11079.0,10113.0,9171.0,8256.0,7369.0,6493.0,5708.0,4939.0,4176.0,3421.0,2675.0,1938.0,1212.0,499.0,-202.0])
X2 = np.array([-1368.0,-2422.0,-3441.0,-4424.0,-5372.0,-6286.0,-7180.0,-8082.0,-7379.0,-5883.0,-4317.0,-2651.0,-890.0,892.0,2718.0,4604.0,6145.0,6991.0,7879.0,8786.0,9720.0,10678.0,11658.0,12657.0,13673.0,11658.0,9720.0,7879.0,6145.0,4591.0,3203.0,2013.0,705.0,705.0,1357.0,2013.0,2586.0,3203.0,3872.0,4591.0,5355.0,5629.0,4860.0,4097.0,3341.0,2594.0,1857.0,1131.0,417.0,-283.0])
X3 = np.array([854.0,1938.0,3047.0,4176.0,5323.0,6484.0,7657.0,8839.0,7919.0,5966.0,4050.0,2182.0,381.0,-1405.0,-3135.0,-4766.0,-6275.0,-7620.0,-8922.0,-10198.0,-11424.0,-12591.0,-13790.0,-14984.0,-16165.0,-13790.0,-11424.0,-8922.0,-6275.0,-3472.0,-603.0,2317.0,5007.0,5007.0,3664.0,2317.0,857.0,-603.0,-2047.0,-3472.0,-4887.0,-5595.0,-4976.0,-4341.0,-3690.0,-3022.0,-2339.0,-1641.0,-928.0,-202.0])
X4 = np.array([854.0,1938.0,3047.0,4176.0,5323.0,6484.0,7657.0,8839.0,7919.0,5966.0,4050.0,2182.0,381.0,-1405.0,-3135.0,-4766.0,-5347.0,-3948.0,-2524.0,-1086.0,369.0,1839.0,3215.0,4560.0,5902.0,3215.0,369.0,-2524.0,-5347.0,-8049.0,-10613.0,-12978.0,-15377.0,-15377.0,-14191.0,-12978.0,-11821.0,-10613.0,-9352.0,-8049.0,-6737.0,-5595.0,-4976.0,-4341.0,-3690.0,-3022.0,-2339.0,-1641.0,-928.0,-202.0])

V1 = np.array([3011.0,2925.0,2831.0,2731.0,2628.0,2542.0,2481.0,2503.0,2511.0,2490.0,2610.0,2773.0,2935.0,2968.0,3042.0,3143.0,2428.0,2161.0,2039.0,1906.0,1761.0,1606.0,1758.0,1806.0,1587.0,1832.0,1682.0,1833.0,2100.0,2321.0,2503.0,2650.0,2764.0,0.0,2789.0,2739.0,2683.0,2617.0,2542.0,2464.0,2433.0,3048.0,3204.0,3179.0,3146.0,3108.0,3071.0,3025.0,2971.0,2921.0])
V2 = np.array([3014.0,2928.0,2831.0,2731.0,2633.0,2539.0,2483.0,2506.0,2511.0,2493.0,2610.0,2777.0,2935.0,2970.0,3043.0,3143.0,3690.0,2350.0,2467.0,2519.0,2594.0,2661.0,2722.0,2775.0,2410.0,2799.0,2692.0,2557.0,2408.0,2158.0,1928.0,1653.0,1817.0,0.0,1811.0,1822.0,1592.0,1714.0,1858.0,1997.0,2122.0,1064.0,3204.0,3179.0,3150.0,3113.0,3071.0,3025.0,2975.0,2917.0])
V3 = np.array([2933.0,3011.0,3081.0,3136.0,3186.0,3225.0,3258.0,3283.0,3286.0,3255.0,3193.0,3113.0,3002.0,2977.0,2883.0,2718.0,3613.0,3736.0,3617.0,3544.0,3406.0,3242.0,3331.0,3317.0,2801.0,3299.0,3286.0,3475.0,3676.0,3893.0,3985.0,4056.0,3736.0,0.0,3731.0,3742.0,4056.0,4056.0,4011.0,3958.0,3931.0,2749.0,2579.0,2646.0,2712.0,2783.0,2846.0,2908.0,2971.0,3025.0])
V4 = np.array([2933.0,3011.0,3081.0,3136.0,3186.0,3225.0,3258.0,3283.0,3286.0,3255.0,3193.0,3113.0,3002.0,2977.0,2883.0,2718.0,1391.0,3886.0,3956.0,3994.0,4042.0,4083.0,3822.0,3736.0,3183.0,3732.0,3953.0,4018.0,3921.0,3753.0,3561.0,3285.0,3332.0,0.0,3294.0,3369.0,3214.0,3356.0,3503.0,3619.0,3644.0,4433.0,2579.0,2646.0,2712.0,2783.0,2846.0,2908.0,2971.0,3025.0])
*/